perm filename CMPTST.SAI[HAL,HE] blob sn#256766 filedate 1977-01-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	begin
C00004 ENDMK
C⊗;
begin

Record_CLASS V3ECT(REAL X,Y,Z);

INTEGER SIMPLE PROCEDURE SIGNUM(REAL V);
	START_CODE
	LABEL XIT;
	SKIPN	1,V;
	JRST	XIT;
	MOVNI	2,1;
	CAIL	1,0;
	MOVEI	2,1;
	MOVE	1,2;
XIT:	END;

RECORD_POINTER(V3ECT) PROCEDURE NEW_V3ECT(REAL X,Y,Z);
	BEGIN
	RECORD_POINTER(V3ECT) V;
	V←NEW_RECORD(V3ECT);
	V3ECT:X[V]←X;
	V3ECT:Y[V]←Y;
	V3ECT:Z[V]←Z;
	RETURN(V);
	END;

INTEGER PROCEDURE V3CMP(RECORD_POINTER(V3ECT) V1,V2);
	START_CODE
	LABEL   XIT,L;
	MOVEI	1,0;
	MOVE	2,V1;
	MOVE	3,V2;
	MOVE	4,[(-3 LSH 18) + 1];
	HRLI	2,4;
	HRLI	3,4;
L:	MOVE	5,@2;
	CAMGE	5,@3;
	SOJA	1,XIT;
	CAME	5,@3;
	AOJA	1,XIT;
	AOBJN	4,L;
XIT:	END;


RECORD_POINTER(V3ECT) X,Y,Z;

EXTERNAL PROCEDURE BAIL;

X←Y←Z←NULL_RECORD;

BAIL;

END